/*
 * Copyright (c) 2023-2024 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef MULTIMODALINPUT_IPC_INTERFACE_CODE_H
#define MULTIMODALINPUT_IPC_INTERFACE_CODE_H

/* SAID: 3101 */
namespace OHOS {
namespace MMI {
enum class MultimodalinputConnectInterfaceCode {
    ALLOC_SOCKET_FD = 0,
    ADD_INPUT_EVENT_FILTER = 1,
    SET_POINTER_VISIBLE = 2,
    IS_POINTER_VISIBLE = 3,
    MARK_PROCESSED = 4,
    SUBSCRIBE_KEY_EVENT = 6,
    UNSUBSCRIBE_KEY_EVENT = 7,
    ADD_INPUT_HANDLER = 8,
    REMOVE_INPUT_HANDLER = 9,
    MARK_EVENT_CONSUMED = 10,
    MOVE_MOUSE = 11,
    INJECT_KEY_EVENT = 12,
    INJECT_POINTER_EVENT = 13,
    SET_ANR_OBSERVER = 14,
    SUPPORT_KEYS = 15,
    GET_DEVICE_IDS = 16,
    GET_DEVICE = 17,
    REGISTER_DEV_MONITOR = 18,
    UNREGISTER_DEV_MONITOR = 19,
    GET_KEYBOARD_TYPE = 20,
    SET_POINTER_SPEED = 21,
    GET_POINTER_SPEED = 22,
    SET_POINTER_STYLE = 23,
    GET_POINTER_STYLE = 24,
    SET_FUNCTION_KEY_STATE = 25,
    GET_FUNCTION_KEY_STATE = 26,
    RMV_INPUT_EVENT_FILTER = 27,
    SET_CAPTURE_MODE = 28,
    GET_DISPLAY_BIND_INFO = 29,
    SET_DISPLAY_BIND = 30,
    SET_INPUT_DEVICE_TO_SCREEN = 31,
    SET_POINTER_LOCATION = 32,
    GET_WINDOW_PID = 33,
    APPEND_EXTRA_DATA = 34,
    SUBSCRIBE_SWITCH_EVENT = 35,
    UNSUBSCRIBE_SWITCH_EVENT = 36,
    ENABLE_INPUT_DEVICE = 37,
    SET_MOUSE_PRIMARY_BUTTON = 38,
    GET_MOUSE_PRIMARY_BUTTON = 39,
    SET_KEY_DOWN_DURATION = 40,
    SET_HOVER_SCROLL_STATE = 41,
    GET_HOVER_SCROLL_STATE = 42,
    SET_MOUSE_SCROLL_ROWS = 43,
    GET_MOUSE_SCROLL_ROWS = 44,
    SET_TP_SCROLL_SWITCH = 45,
    GET_TP_SCROLL_SWITCH = 46,
    SET_TP_SCROLL_DIRECT_SWITCH = 47,
    GET_TP_SCROLL_DIRECT_SWITCH = 48,
    SET_TP_TAP_SWITCH = 49,
    GET_TP_TAP_SWITCH = 50,
    SET_TP_POINTER_SPEED = 51,
    GET_TP_POINTER_SPEED = 52,
    SET_MOUSE_ICON = 53,
    SET_KEYBOARD_REPEAT_DELAY = 54,
    SET_KEYBOARD_REPEAT_RATE = 55,
    SET_TP_PINCH_SWITCH = 56,
    GET_TP_PINCH_SWITCH = 57,
    SET_TP_SWIPE_SWITCH = 58,
    GET_TP_SWIPE_SWITCH = 59,
    SET_TP_RIGHT_CLICK_TYPE = 60,
    GET_TP_RIGHT_CLICK_TYPE = 61,
    GET_KEYBOARD_REPEAT_DELAY = 62,
    GET_KEYBOARD_REPEAT_RATE = 63,
    SET_MOUSE_HOT_SPOT = 64,
    SET_POINTER_SIZE = 65,
    GET_POINTER_SIZE = 66,
    SET_POINTER_COLOR = 67,
    GET_POINTER_COLOR = 68,
    CLEAN_WIDNOW_STYLE = 69,
    SET_CUSTOM_CURSOR = 70,
    NOTIFY_NAP_ONLINE = 71,
    SET_NAP_STATUS = 72,
    GET_ALL_NAPSTATUS_DATA = 73,
    RMV_INPUT_EVENT_OBSERVER = 74,
    SET_SHIELD_STATUS = 75,
    GET_SHIELD_STATUS = 76,
    ENABLE_COMBINE_KEY = 77,
    SET_TP_ROTATE_SWITCH = 78,
    GET_TP_ROTATE_SWITCH = 79,
    GET_KEY_STATE = 80,
    NATIVE_AUTHORIZE = 81,
    NATIVE_CANCEL_INJECTION = 82,
    NATIVE_INFRARED_OWN = 83,
    NATIVE_INFRARED_FREQUENCY = 84,
    NATIVE_CANCEL_TRANSMIT = 85,
    SET_PIXEL_MAP_DATA = 86,
    SET_CURRENT_USERID = 87,
    ENABLE_HARDWARE_CURSOR_STATS = 88,
    GET_HARDWARE_CURSOR_STATS = 89,
    ADD_VIRTUAL_INPUT_DEVICE = 90,
    REMOVE_VIRTUAL_INPUT_DEVICE = 91,
    SET_THREE_GINGERS_TAPSWITCH = 92,
    GET_THREE_GINGERS_TAPSWITCH = 93,
#ifdef OHOS_BUILD_ENABLE_ANCO
    ADD_ANCO_CHANNEL = 94,
    REMOVE_ANCO_CHANNEL = 95,
#endif // OHOS_BUILD_ENABLE_ANCO
    TRANSFER_BINDER_CLIENT_SERVICE = 96,
    SET_TOUCHPAD_SCROLL_ROWS = 97,
    GET_TOUCHPAD_SCROLL_ROWS = 98,
#ifdef OHOS_BUILD_ENABLE_MAGICCURSOR
    GET_POINTER_SNAPSHOT = 99,
#endif // OHOS_BUILD_ENABLE_MAGICCURSOR
    SET_MOVE_EVENT_FILTERS = 100,
    SKIP_POINTER_LAYER = 101,
    GET_SYSTEM_EVENT_TIME_INTERVAL = 102,
    GET_ALL_SYSTEM_HOT_KEY = 103,
    SET_CLIENT_INFO = 104,
    ADD_GESTURE_MONITOR = 105,
    REMOVE_GESTURE_MONITOR = 106,
    
    SET_INPUT_DEVICE_ENABLE = 109,
    SHIFT_APP_POINTER_EVENT = 110,
    SET_CUSTOM_MOUSE_CURSOR = 120,
    INJECT_TOUCHPAD_EVENT = 121,
    GET_TOUCHPAD_OPTION = 122,
    SET_MUILT_WINDOW_SCREEN_ID = 123,
#ifdef OHOS_BUILD_ENABLE_VKEYBOARD
    CREATE_VKEYBOARD_DEVICE = 153,
#endif // OHOS_BUILD_ENABLE_VKEYBOARD
    GET_CURSOR_SURFACE_ID = 205,
    SUBSCRIBE_HOT_KEY = 303,
    UNSUBSCRIBE_HOT_KEY = 304,
    SUBSCRIBE_LONG_PRESS = 305,
    UNSUBSCRIBE_LONG_PRESS = 306,
    SET_DOUBLE_TAP_DRAG_STATE = 307,
    GET_DOUBLE_TAP_DRAG_STATE = 308,
    ADD_PRE_INPUT_HANDLER = 309,
    REMOVE_PRE_INPUT_HANDLER = 310,
#ifdef OHOS_BUILD_ENABLE_ANCO
    CHECK_KNUCKLE_EVENT = 311,
#endif // OHOS_BUILD_ENABLE_ANCO
    SUBSCRIBE_TABLET_EVENT = 312,
    UNSUBSCRIBE_TABLET_EVENT = 313,
    SUBSCRIBE_KEY_MONITOR = 351,
    UNSUBSCRIBE_KEY_MONITOR = 352,
};

enum class MultimodalinputEventObserverCode {
    NOTIFY_BUNDLE_NAME = 0,
};

enum class MultimodalinputEventInterfaceCode {
    HANDLE_KEY_EVENT = 0,
    HANDLE_POINTER_EVENT = 1,
};

} // namespace MMI
} // namespace OHOS
#endif // MULTIMODALINPUT_IPC_INTERFACE_CODE_H
